package Terminal.Entity;

import Terminal.TechnicalServices.TSIce;
import EntityCondivise.EMoneyPrx;
import EntityCondivise.EMoney;
import Ice.Communicator;

/**
 * Rappresenta un valore economico composto da una cifra ed una valuta.
 * Questa classe permette di gestire i prezzi, costi o valori dei prodotti 
 * in modo indipendente dal valore della moneta utilizzata.
 * 
 * @author Gruppo 6
 *
 */
public class EMoneyI extends EMoney {

	TSIce iceComunicator;
	Communicator ice;
	EMoneyPrx money;	
	
	public EMoneyI()
	{
		this.valuta = "euro";
		
		iceComunicator = Terminal.TechnicalServices.TSIce.istanza();
		ice = iceComunicator.getIce();
		
		try 
		{
	        Ice.ObjectPrx base = ice.stringToProxy("SimpleEMoneyI:" + iceComunicator.getParametriConnessione());
	        money = EntityCondivise.EMoneyPrxHelper.checkedCast(base);
	        
	    	if (money == null)
	        {   	
	        	throw new Error("Invalid proxy");
	        }	        
	        
		}
		catch (Ice.LocalException e) 
        {
            e.printStackTrace();
            iceComunicator.setStatus(1);
        } 
		catch (Exception e) 
		{
            System.err.println(e.getMessage());
            iceComunicator.setStatus(1);
        }						
	}
	
	public void setPrezzo(int pr)
	{
		this.prezzo = pr;
	}

	public int getPrezzo() {
		return prezzo;
	}
	
	public String getValuta() {
		return valuta;
	}
	
	public void setValuta(String valuta) {
		this.valuta = valuta;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}		
}
